package br.edu.univas.si.engs.controller;

import java.sql.SQLException;
import java.util.ArrayList;

import javax.swing.JOptionPane;

import br.edu.univas.si.engs.model.AddressTO;
import br.edu.univas.si.engs.model.CadastroDAO;
import br.edu.univas.si.engs.model.CarTO;
import br.edu.univas.si.engs.model.ClientTO;

public class ControllerCadastro {

	private double formatarPreco(String preco) {
		try {
			return Double.parseDouble(preco);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return 0;
	}

	private int formatarQuantidade(String quantidade) {
		try {
			return Integer.parseInt(quantidade);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return 0;
	}

	private int formatarID(String id_produto) {
		try {
			return Integer.parseInt(id_produto);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return 0;
	}

	public void salvarCliente(ClientTO pessoais, AddressTO adress)
			throws SQLException {

		new CadastroDAO().saveClient(pessoais, adress);

	}

	public void updateCliente(ClientTO pessoais, AddressTO adress)
			throws SQLException {

		new CadastroDAO().updateClient(pessoais, adress);

	}

	public void alterarCliente(String nome, String cpf, String rg,
			String telefone, String email, String celular, String dataNasc,
			String dataCad, Boolean status) throws SQLException {

		ClientTO cliente = new ClientTO();

		cliente.setNome(nome);
		cliente.setCpf(cpf);
		cliente.setRg(rg);
		cliente.setTelefone(telefone);
		cliente.setEmail(email);
		cliente.setCelular(celular);
		cliente.setDataNasc(dataNasc);
		cliente.setDataCad(dataCad);
		cliente.setStatus(status);

		// new EstoqueDAO().salvar(cliente);

	}

	public ArrayList<ClientTO> ListarCliente(String nome) {
		CadastroDAO dao = new CadastroDAO();

		try {
			return dao.findClientes(nome);
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null,
					"Produto nao localizado\n" + e.getLocalizedMessage());
		}

		return null;
	}

	/*
	 * public void excluir(Integer id) throws SQLException { new
	 * EstoqueDAO().excluir(id); }
	 */
	public ClientTO editarCliente(int id) {
		CadastroDAO dao = new CadastroDAO();

		try {
			System.out.println("ClientTO editarCliente(int id) :" + id);
			return dao.editClientes(id);
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null,
					"Produto nao localizado\n" + e.getLocalizedMessage());
		}

		return null;
	}

	public AddressTO editarAdress(int id) {
		CadastroDAO dao = new CadastroDAO();

		try {
			System.out.println("controler:" + id);
			return dao.editAdress(id);
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null,
					"Produto nao localizado\n" + e.getLocalizedMessage());
		}

		return null;
	}

	public void excluirCliente(int id) {
		CadastroDAO dao = new CadastroDAO();

		try {
			System.out.println("excluirCliente(int id) :" + id);
			dao.getExcluir(id);
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null,
					"Produto nao localizado\n" + e.getLocalizedMessage());
		}

	}

	// ===============================CAR-DAO===================================

	public ArrayList<CarTO> ListarCar(String nome) {
		CadastroDAO dao = new CadastroDAO();

		try {
			return dao.findCar(nome);
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null,
					"Produto nao localizado\n" + e.getLocalizedMessage());
		}

		return null;
	}

	public void salvarCar(CarTO car) throws SQLException {

		new CadastroDAO().saveCar(car);

	}

	public void updateCar(CarTO car, int id)
			throws SQLException {

		new CadastroDAO().updatCar(car,id);

	}
	
	public CarTO editarVeiculo(int id) {
		CadastroDAO dao = new CadastroDAO();

		try {
			System.out.println("ClientTO editarCliente(int id) :" + id);
			return dao.editCar(id);
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null,
					"Produto nao localizado\n" + e.getLocalizedMessage());
		}

		return null;
	}
	
	public void excluirVeiculo(int id) {
		CadastroDAO dao = new CadastroDAO();

		try {
			System.out.println("excluirCliente(int id) :" + id);
			dao.getExcluirVeiculo(id);
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null,
					"Produto nao localizado\n" + e.getLocalizedMessage());
		}

	}

}
